perm filename PAS.HLP[S,DOC]3 blob
sn#474826 filedate 1979-09-18 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00004 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002
C00005 00003 A PAS command consists of "R PAS" followed by a FILENAME followed by
C00009 00004 ROUTING SWTICHES
C00011 ENDMK
C⊗;
I was typing [DO,S1] for the 2,436th time two days ago, and decided I
couldn't take it any more. The result is PAS, a combination of SNAIL and
DO that can be used to compile and run Pascal and Fortran programs at SAIL
using the S-1 Pascal system.
Some examples:
R PAS;FNAME (compiles FNAME.PAS or FNAME.FOR and runs it on the simulator)
EX (usually re-executes last PAS command (also control-X G from
the editor))
R PAS (ALWAYS re-executes the last PAS command)
R PAS;FNAME.PCO (put FNAME.PCO through SOPA and run it on the simulator)
R PAS;FNAME.PCO/S (put FNAME.PCO through SOPA)
R PAS;FNAME/PS1/E (translate FNAME.PAS to FNAME.PS1 and edit the result)
R PAS;FNAME/OUT (compile and run FNAME.PAS, feeding FNAME.OUT to FSIM
for the Pascal output file)
R PAS;FNAME.LDI/TTYOUT (run FNAME.LDI on simulator, use "TTY:" for output)
R PAS;FNAME/U (use U-code system instead of P-code system)
R PAS;FNAME/O (run U-code through the optimizer)
R PAS;FNAME/INT/E (compile FNAME.PAS into U-code, run it on the interpreter,
using FNAME.OUT for OUTPUT, then look at the result)
R PAS;FNAME/LDI/D (don't say "END" to debugger when running SOPA (D stands
for "DEBUG")
R PAS;FNAME.LDI/FOR/RIM (load FNAME.LDI using Fortran run-times and write
out the RIM file)
R PAS;FNAME/C128 (increase core for PCPASC and SOPA to 128K)
R PAS;FNAME/CF100000 (when running on simulator, increase core to 100000)
R PAS:FNAME/OLD/S1WORD (use old SOPA, PCPASC, and runtime (PASSIX), and
also load S1WORD)
R PAS;TEST.PAS/SOPZ11 (use SOPZ11 instead of the current SOPA)
R PAS;? (display HELP file)
More details are on next page.
A PAS command consists of "R PAS;" followed by a FILENAME followed by
any number of SWITCHES.
The last PAS command can be re-executed by typing "R PAS". It can also
be re-executed by typing "EX" or control-x followed by "G" to the editor
PROVIDING you have not done any compilation with any other compilers or used
DO, DRD, or PUB since your last PAS command.
FILENAMES
---------
A filename is of the form FNAME.EXT[PRJ,PRG], where anything except FNAME
is optional. EXT may be any one of the following: PAS, FOR, PCO, UCO, LDI.
If you leave out EXT, PAS will try out those extensions in that order until
it finds a file.
All further files in a chain (FNAME.PCO, FNAME.LDI, etc.) will be written
to your current area, not to [PRJ,PRG].
TERMINATION FILES and MODES
---------------------------
If you want to look at some intermediate results instead of going through
the whole chain, you can specify a termination file, or you can use the
"single step" switch (/S), which will cause only one phase of the translation
to be done.
Possible termination files are: /PCO, /UCO, /LDI, /OP, /PS1, /RIM, /IN,
/OUT, /RUN, /TTYIN, /TTYOUT, and /RUNTTY.
There two special termination modes: E (edit) and D (debug). E means that
you want to edit the termination file afterwards. D means that you want to
debug the program that generates the termination file (or the last program,
if no termination file.) This means and "END" will not be generated for
a Pascal program, and a αg will not be generated for the simulator.
Special termination files:
OP is the optimizer trace file. It includes the original Pascal program,
the original U-code file, and results of each successive phase of optimization.
RIM causes a FNAME.RIM to be written out by FSIM after it has loaded FNAME.LDI.
IN and OUT can be used to specify default input and output files to the
simulator. For instance,"R PAS;FNAME/OUT" will cause PAS to
feed FNAME.OUT to the simulator for the name of file OUTPUT.
"RUN" means to use the file FNAME.RUN for Fortran run-time messages.
TTYIN, TTYOUT, and TTYRUN means to use the TTY instead of a file for
input, output, or Fortran run-time messages.
These file names are ALWAYS output in the order RUN, IN, OUT.
ROUTING SWTICHES
----------------
/O run U-code through optimizer
/U use U-code rather than P-code
/S single-step (do only one phase of the translation)
/UPAS use UPAS rather than PCPASC and PTRANS
/INT use interpreter rather than SOPU and the simulator
/FOR use Fortran run-times
/OLD use old (pre-set change) PCPASC,SOPA,and runtimes
/S1WORD also load current S1WORD
/DDT also load DDT.LDI
OTHER SWITCHES
--------------
/Cn increases core to n when running translator programs
/CFn increases core to n when running on simulator (using
αxCORE command)
/XX print all commands in the chain instead of feeding them
to TTY input buffer (for debugging)
/<fname> will use a specified version of SOPA, SOPU or PCPASC
instead of the default one. <fname> must always start with SOP,SUP,OR
PCP. Default area is your current area.